System and method for creating, receiving and using interactive information

ABSTRACT

Systems and methods are provided for implementing and using interactive information. In one embodiment, a user may specify certain information that should be collected by the embodiment. The embodiment may monitor or search through one or more data streams for all information matching or corresponding to the user&#39;s specifications.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims benefit under 35 U.S.C. §119(e) to U.S.Provisional Patent Application No. 60/882,897, entitled “System andMethod for Creating, Receiving and Using Interactive Information,” filedon Dec. 29, 2006, which is hereby incorporated by reference herein inits entirety.

FIELD OF THE INVENTION

The present invention relates generally to the creation, receipt and useof interactive information, and more particularly to the creation,receipt, and use of a personalized information service collectinguser-selected information into a single aggregate.

BACKGROUND ART

The proliferation of data has made finding and reviewing data ofparticular interest to a user potentially difficult. Digital data maytake many forms, such as audiovisual programming, computer or other datafiles, music, and so on. The sheer number of audiovisual programsavailable to a subscriber of a cable or satellite programming servicecan be overwhelming. Oftentimes, the audiovisual program includesmultiple segments, each of which has different subjects of data. Onlysome of this data may be of interest to the subscriber/user. As anexample, a news program may include a variety of segments, each of whichincludes data on a different news story. If a subscriber is interestedonly in the data of a single segment of the news, it may be tedious forthe subscriber to review the entire program in order to find the data ofinterest.

Thus, there is a need for an improved system and method for creating,receiving and using interactive information.

BRIEF SUMMARY OF THE INVENTION

One embodiment of the present invention takes the form of a method forstoring a data segment. The method provides for receiving a data stream,the data stream containing at least one data segment. The method furtherprovides for receiving first metadata describing at least one attributeof the data stream and second metadata describing at least one attributeof the data segment. The method also provides for determining if thesecond metadata matches a search criterion and, in the event that thesecond metadata does match the search criterion, storing the datasegment.

Another embodiment of the present invention takes the form of a methodfor storing a segment of an audiovisual program. The method provides forreceiving metadata describing at least one attribute of the audiovisualprogram, including at least one attribute of at least one segment of theprogram. The method further provides receiving a search criterion from auser and determining if the search criterion matches the metadata of theat least one segment of the program. In the event that the searchcriterion matches the at least one attribute of the segment of theprogram, the method provides for setting a timer to store the segmentwhen the audiovisual program is received.

Yet another embodiment of the present invention takes the form of asystem for storing a segment of an audiovisual program. The systemcomprises a transmitter, a storage device and a receiver. The receiveris configured to receive metadata describing at least one attribute ofthe audiovisual program, including at least one attribute of at leastone segment of the program. The receiver is further configured toreceive a search criterion from a user, receive the audiovisual programfrom the transmitter, and determine if the search criterion matches themetadata of the at least one segment of the program. In the event thatthe search criterion matches the at least one attribute of the segmentof the program, the receiver sets a timer to store the segment when theaudiovisual program is received.

A fourth embodiment of the present invention takes the form of a methodfor storing a segment of an audiovisual program. The method comprisesproviding an audiovisual program, the program containing at least onedata segment. The method further comprises providing metadata describingat least one attribute of the audiovisual program, including at leastone attribute of at least one segment of the program where the metadatais compared to a search criterion provided by a user and, in the eventthat the metadata matches the search criterion, a timer is set to storethe segment of the program when the audiovisual program is sent.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 depicts an exemplary embodiment of the present invention in anexemplary operating environment.

FIG. 2 is a flowchart for receiving and storing interactive informationin accordance with the exemplary embodiment of the present invention.

FIG. 3 is a flowchart for retrieving and presenting interactiveinformation in accordance with the exemplary embodiment of the presentinvention.

DETAILED DESCRIPTION

One embodiment of the present invention takes the form of an apparatusfor implementing and using interactive information. Through theembodiment, a user may specify certain information that may be collectedby the embodiment. The embodiment may monitor or search through one ormore data streams for all information matching or corresponding to theuser's specifications.

Matching information may be stored by the embodiment on a storagedevice. Upon receiving a trigger, such as a user-initiated command oraction, the embodiment may retrieve the stored, matching information anddisplay it to the user or otherwise permit the user to access theinformation. The embodiment may monitor the display of the stored,matching information and present it according to a variety ofpresentation schemes. It should be noted that the term “information”encompasses many varieties of digital data, including, but not limitedto: audiovisual programs and files; documents; data files; digitalsatellite broadcasts; digital cable transmissions; and so on.

FIG. 1 displays an exemplary embodiment of the present invention and anexemplary operating environment. A transmitter 100 may send atransmission 120 across a network 105 to a receiver 110. Thetransmission 120 may include information of the type described above.Additionally, it should be noted that “information,” as used herein, mayrefer to a portion or segment of a larger broadcast, program, or file.For example, a news program may have multiple segments, such as localnews, weather, sports news, international news, headlines, anintroduction, a closing and so forth, each of which may be separatelyconsidered information within the scope of this document. The overallnews program may also be considered information.

The network 105 may be any network or configuration suitable to carry,pass or facilitate the transmission 120 from the transmitter 100 to thereceiver 110. Accordingly, the network 105 may be the Internet, anEthernet, a wide-area network, a local-area network, a wireless network(including a network employing Bluetooth, infrared, radio frequency,ultra-high frequency, or very high frequency transmissions, each aloneor in combination with another wireless transmission type) a wirednetwork, a telephone system, and so forth. Likewise the transmitter 100may be any device or entity configured to send information across thenetwork 105 to at least one receiver 110. Exemplary transmittersinclude: a satellite system; cable headend; a server, router or othercomputing device; a mobile device such as a mobile telephone, handheldcomputing device, personal digital assistant and so forth; a digitalradio studio, tower or other broadcasting device; and so on. Similarly,the receiver 110 may be any device or entity capable of, configured to,or otherwise able to receive the transmission 120. Exemplary receiversinclude a set-top box; a digital video recorder (which may be collocatedor integrated with a set-top box); a television; a radio or stereo; apersonal computer; a mobile device such as a mobile telephone, handheldcomputing device, personal digital assistant and so forth; and so on.

The receiver 110 may be operably connected to a display 130 and istypically connected to a storage device 125. Likewise, the storagedevice 125 may be connected to the display 130. The embodiment maydisplay received or stored information via the display 130. It should benoted that any of the receiver 110, storage device 125 and display 130may be integrated into a single unit. For example, if the receiver 110is a satellite transmission receiver and the storage device 125 is adigital video recorder, the two may be integrated into a single set-topbox.

Henceforth, the exemplary embodiment will be discussed in terms of adigital satellite transmission 120 originating from a satellitetransmitter 100 and received at a set-top box, digital video recorder,or other suitable receiver 110. It should be understood that such atransmitter 100, network 105 and receiver 110 are exemplary and theteachings disclosed herein may be applied to any of the foregoingtransmitters, network and/or receivers.

The transmitter (e.g., satellite) 100 may send a transmission 120 to theset-top box/receiver 110. The transmission 120 may include one or moreprograms multiplexed on a single transponder channel. The use oftransponder channels for satellite transmissions, multiplexing ofprograms and receipt of satellite transmissions are generally known tothose of ordinary skill in the art and accordingly will not be describedfurther herein. The information in such a transmission generally takesthe form of one or more audiovisual (or simply audio or visual)segments, such as a television program, portion of a television program,movie or portion thereof, commercial, special event and so forth. Eachseparate unit of information may be thought of as a segment of theoverall transmission and will be so referred to herein.

Each segment may include metadata therein, or metadata may be otherwiseassociated with each segment. For example, metadata may be broadcast bythe satellite 100 on a separate transponder channel from the transponderchannel carrying the associated segment(s). In such a case, the receiver110 may utilize a second tuner configured to monitor the separatetransponder channel. The second transponder channel may broadcastmetadata only or may broadcast both segments and metadata. Further, thereceiver 110 may switch to the separate transponder channel when thefirst transponder channel is no longer in use. Metadata alternativelymay be attached to, or embedded in, a segment by a segment providersupplying the segment to the satellite or by the satellite itself. As anexample, program information for a television show broadcast by asatellite content provider may be included with the television show asmetadata. Generally, metadata relates to the nature of the segment andprovides additional knowledge regarding the segment. For example, if thesegment is a television program, metadata may include: ratings such asG, PG, PG-13, R, NC-17; certain keywords such as, e.g., “violence,”“nudity,” “language;” a person's name (such as an actor or director);category denominator (e.g., “comedy,” “drama,” “cartoon”); topic of thesegment (news, sports, a sporting team's name, gossip, etc.); and soforth.

As mentioned above, metadata may be broadcast with a segment orseparately from an associated segment. Metadata may be periodicallybroadcast on one or more transponder channels, for example (“carouselmetadata”). In one exemplary embodiment, carousel metadata is broadcastby the transmitter 100 every 30 seconds. For metadata broadcastseparately from the associated segment, the receiver 110 may utilizemultiple transponder channels to collect the carousel metadata. Thus, asa segment is received, carousel metadata may periodically provideadditional information relating to that segment. Alternatively, metadatamay be broadcast in advance of its corresponding segment. Bybroadcasting metadata in advance, it may be possible to include moreinformation in the metadata (“extended metadata”). Extended metadata maybe received by the receiver 110 and stored on a storage device 125 forlater optional retrieval and presentation. Extended metadata may bebroadcast on a dedicated metadata transponder channel or in a carouselfashion. Since extended metadata is generally received before itsassociated segment is transmitted across the network 105, a user mayreview extended metadata to determine certain information about segmentsscheduled for inclusion in an upcoming transmission 110.

A user may select one or more keywords or other search criteria andprovide them to the embodiment. The embodiment may then review allmetadata (of any type received at the receiver 110) to determine if anysuch metadata matches the user's search criteria. Segments associatedwith metadata matching the search criteria may be stored on the storagedevice 125 once received by the receiver 110. The embodiment mayimplement a search function (“searcher”) to analyze metadata as it isreceived, either with or prior to receipt of an associated segment,determine which metadata matches the search criteria and thus determinewhich segments will be stored on the storage device 125 by theembodiment. In one embodiment, the search function may first accept andstore the search criteria provided by the user. The searcher may thenreceive the incoming metadata describing various attributes of thesegments being broadcast by the transmitter 100. The searcher may thencompare the keywords or other search criteria against the incomingmetadata in search of a match between the keyword and the segmentattributes. If a match is found, the searcher may then instruct thestorage device 125 to store the desired segment. A further embodimentmay provide a search function to continually analyze incoming metadataon the second transponder channel. If a match between the metadata andthe search criteria is found, the embodiment may tune the receiver 110to receive the desired segment and begin storing the segment in thestorage device 125.

As mentioned above, individual portions of a program may be consideredsegments. In an embodiment operative with segments defining portions ofa program, metadata may change relatively quickly or new metadata may bereceived relatively quickly. For example, presume “Late Night With DavidLetterman” has four guest appearances, an opening monologue, a musicalperformance, and a closing. “Late Night” may thus have seven distinctsegments, each with different metadata. If the metadata is broadcastedattached to or concurrently with each segment, the receiver will obtainnew metadata each time a new segment begins. Continuing the example,some metadata may remain the same (such as the name of the televisionprogram) while other metadata changes (such as the name of each guest).In the present embodiment, the receiver 110 and storage device 125 maycapture and store only the individual segments matching the user'sspecified search criteria. Thus, if a particular actress were a guest on“Late Night With David Letterman” in the present example, the embodimentmay record only the segment in which she appears (or associated withmetadata including her name) and not record the remainder of thetelevision program.

The embodiment may determine the beginning and end of each segment, andthus when to begin and terminate storing of a segment, in a number ofways. For example, metadata received prior to the transmission of asegment may include the start and stop times of the segment in order toinitiate and terminate segment recording. Alternatively, the embodimentmay begin recording of a segment when associated metadata matching thesearch criteria is received and terminate recording of the segment whennew metadata, no longer matching the search criteria, is received. Suchnew metadata may indicate the beginning of a new segment. Thisparticular implementation may be used when metadata is broadcastconcurrently with, or at the beginning of, an associated segment.Alternatively, the embodiment may monitor carousel metadata beingtransmitted on multiple transponder channels and begin recording of thesegment when the metadata matches the search criteria. As still anotheroption, each segment may include a “start” and “stop” marker indicatingwhen recording should begin and terminate.

Still another embodiment of the invention may operate generally asdescribed above but not rely on metadata to initiate storage of asegment. Instead, the embodiment may include a form of either textrecognition or audio recognition. For example, the embodiment may beequipped with optical character recognition (OCR) or speech recognitioncapabilities. When text (in the case of an OCR-equipped embodiment) orspeech (in the case of a speech recognition-equipped embodiment) appearsor is spoken in a program and that text or speech matches the user'ssearch criteria, recording may begin.

In such an embodiment, recording may terminate when one or moreconditions are satisfied. For example, recording of the segment may stopafter a certain period of time. Recording may terminate when theembodiment receives metadata not matching metadata present during thesegment, or metadata indicating the beginning of a new segment.Recording may terminate when the segment is scheduled to end, and so on.

It should be noted that references to “recording” a segment, as usedherein, are intended to encompass any method of obtaining and storing asegment. Thus, downloading of a segment is one example of recording, asis storage of a segment as the segment is broadcast/received.

The embodiment may also display the stored segments. Generally, inresponse to a user-initiated action, the embodiment may retrieve one ormore stored segments from the storage device 125 and display them on thedisplay 130 (such as a television or computer monitor). The user maysignal in a variety of manners to the embodiment that playback of storedsegments is to begin. For example, the user may use a remote control toinstruct the embodiment to show stored segments. Alternatively, the usermay access a particular dedicated channel to initiate playback. As anexample, where the receiver 110 is a set-top box or portion thereof, theuser may tune the set-top box to a unique satellite channel. The set-topbox, upon being tuned to the particular channel, may automatically beginplaying back segments from the storage device 125. In this manner, theuser may be provided with a unique, customized channel showing onlythose segments in which the user has expressed an interest.

It should be noted that certain embodiments of the present invention mayutilize search criteria derived from a user's actions, activities, pastviewing preferences and so forth instead of user-specified criteria.

FIG. 2 is a flowchart generally depicting a method for receiving andstoring interactive information in accordance with the exemplaryembodiment of the present invention. The method begins in operation 200,in which the receiver 110 receives one or more search criteria. Inoperation 205, the embodiment receives segment metadata in any of themanners described above.

In operation 210, the embodiment determines whether the receivedmetadata matches the search criteria. If not, then the associatedsegment is not stored and the embodiment accesses operation 220. If,however, the metadata matches, then operation 215 is executed and therelated segment is stored on the storage device 125.

In operation 220, the embodiment determines if all metadata received hasbeen analyzed. If no, then in operation 225 the embodiment proceeds tothe next metadata and determines if it matches the search criteria inoperation 210, effectively repeating a loop for the new metadata.Otherwise, if all metadata received has been reviewed, the embodimentterminates the method in operation 230.

FIG. 3 depicts an exemplary method for retrieving and presentinginteractive information in accordance with the exemplary embodiment ofthe present invention. First, in operation 300, the embodiment receivesa signal to initiate display of one or more segments. Various initiationsignals are discussed above.

In operation 305, the embodiment displays segment N, which is retrievedfrom storage. The first time operation 305 is executed, the retrievedsegment is segment 1. It should be noted that the number of the segment,as used in operations 305-320, may be assigned in a variety of manners.For example, segments may have their number incremented as they arereceived and/or stored, such that the first received (or stored) segmentis segment 1. Alternatively, segments may be sorted alphanumerically byname or identifier. As yet another alternative, the embodiment mayinclude a weighting or relevancy function, such that segments morerelevant or containing more data/information related to the searchcriteria are assigned lower numbers. Weighting and/or relevancydetermination may be based on a factor included in the metadata, suchthat each metadatum has an accompanying weighting score. As an example,a first segment may include a thirty-second appearance by Angelina Jolieand so have a weighting score of “30” for “Angelina Jolie” metadata. Asecond segment may include a ten minute interview with Angelina Jolieand so have a weighting score of “600” for “Angelina Jolie” metadata.(The exact numbers of the weighting scores are arbitrary, so long as therankings are maintained. For example, the weighting scores may increasegeometrically or logarithmically or may not be tied to time at all.)Thus, in the exemplary embodiment, the “600” score segment may besegment 1 while the “30” score segment may be segment 2. Alternativeways to sort and assign rankings to segments will occur to those ofordinary skill in the art.

In operation 310, the embodiment determines if all segments stored onthe storage device 125 have been displayed on the display 130. If not,the segment number is incremented by 1 in operation 315 and thenoperation 305 is again accessed to display the next segment.

If all segments have been displayed, then operation 320 is executed. Inoperation 320, N may be reset to 1 so that the first segment is againdisplayed in operation 305. In this manner, the segments may berepeatedly displayed in a loop.

Alternatively, after display of the final segment, the embodiment maystop retrieving and displaying segments altogether.

It should be noted that the flowcharts of FIGS. 2 and 3 are illustrativeonly. Alternative embodiments of the present invention may addoperations, omit operations, or change the order of operations withoutaffecting the spirit or scope of the present invention.

It should also be noted that various segments may be displayed in alist, folder, or menu item to a user in order to allow the user to pickonly those segments he desires to watch.

The foregoing merely illustrates the principles of the invention.Various modifications and alterations to the described embodiments willbe apparent to those skilled in the art in view of the teachings herein.It will thus be appreciated that those skilled in the art will be ableto devise numerous systems, arrangements and methods which, although notexplicitly shown or described herein, embody the principles of theinvention and are thus within the spirit and scope of the presentinvention. From the above description and drawings, it will beunderstood by those of ordinary skill in the art that the particularembodiments shown and described are for purposes of illustration onlyand are not intended to limit the scope of the present invention.References to details of particular embodiments are not intended tolimit the scope of the invention.

What is claimed is:
 1. A method for storing a data segment, comprising:receiving a data stream from a service provider at a client receiver,wherein the data stream contains a program having at least a first datasegment and a second data segment; receiving a first metadata from theservice provider at the client receiver, the first metadata describingat least one attribute of the data stream; receiving a second metadatafrom the service provider at the client receiver, the second metadatadescribing at least one attribute of the first data segment;determining, by the client receiver, if the second metadata matches asearch criterion, wherein the search criterion is provided by a user;and in the event that the second metadata matches the search criterion,storing the first data segment at the client receiver as the first datasegment is received from the service provider, and not storing thesecond data segment.
 2. The method of claim 1 wherein the first andsecond metadata is received concurrently with the data segment.
 3. Themethod of claim 2 wherein the storing operation further comprises:beginning the storing of the first data segment when it is determinedthat the second metadata matches the search criterion; and terminatingthe storing of the first data segment when new metadata is received thatno longer matches the search criterion.
 4. The method of claim 1 whereinthe first and second metadata are received prior to receiving theaudiovisual program.
 5. The method of claim 4 wherein the secondmetadata includes a start time and a stop time of the first datasegment; the storing operation further comprising: beginning the storingof the first data segment based on the start time; and terminating thestoring of the first data segment based on the stop time.
 6. A methodfor storing a segment of an audiovisual program, comprising: receivingmetadata at a client receiver from a service provider, the metadatadescribing at least one attribute of the audiovisual program, themetadata including at least one attribute of at least a first segment ofthe program and a second data segment of the program; receiving a searchcriterion from a user; determining if the search criterion matches themetadata of the first segment of the program; and in the event thesearch criterion matches the at least one attribute of the first segmentof the program, setting a timer to store the first segment when theaudiovisual program is received at the client receiver from the serviceprovider, and not setting a timer to store the second segment.
 7. Themethod of claim 6 wherein the metadata is received concurrently with thefirst segment of the program.
 8. The method of claim 7 wherein thesetting the timer operation further comprises: beginning the timer whenit is determined that the metadata matches the search criterion; andterminating the timer when new metadata is received that no longermatches the search criterion.
 9. The method of claim 7 wherein thesetting the timer operation further comprises: beginning the timer whenit is determined that the metadata matches the search criterion; andterminating the timer after a set period of time.
 10. The method ofclaim 6 wherein the metadata is received prior to receiving the program.11. The method of claim 10 wherein the metadata includes a start timeand a stop time of the first segment of the program.
 12. The method ofclaim 11 wherein the setting the timer operation further comprises:beginning the timer based on the start time; and terminating the timerbased on the stop time.
 13. The method of claim 6 further comprising:displaying the first segment of the program to the user.
 14. The methodof claim 13 wherein the displaying the first segment of the programfurther comprises: providing a set of criteria for ranking a pluralityof stored segments; and displaying the segments based upon the rankingof the plurality of stored segments.
 15. A system for storing a segmentof an audiovisual program, comprising: a transmitter; a storage device;and a receiver, wherein the receiver is configured to: receive metadatadescribing at least one attribute of the audiovisual program from thetransmitter, the metadata including at least one attribute of a firstsegment of the program and one attribute of a second segment of theprogram; receive a search criterion from a user; receive the audiovisualprogram from the transmitter; determine if the search criterion matchesthe metadata of the first segment of the program; and in the event thesearch criterion matches the at least one attribute of the first segmentof the program, set a timer to store the first segment of the program inthe storage device when the audiovisual program is received from thetransmitter, and not set a timer to store the second segment of theprogram.
 16. The system of claim 15 wherein the receiver is furtherconfigured to: begin the timer when it is determined that the metadatamatches the search criterion; and terminate the timer when new metadatais received that no longer matches the search criterion.
 17. The systemof claim 15 wherein the receiver is further configured to: begin thetimer when it is determined that the metadata matches the searchcriterion; and terminate the timer after a set period of time.
 18. Thesystem of claim 15 wherein the metadata includes a start time and a stoptime of the first segment of the program and the receiver is furtherconfigured to: begin the timer based on the start time; and terminatethe timer based on the stop time.
 19. The system of claim 15 furthercomprising; a display device for displaying the stored segment to theuser.
 20. The system of claim 19 wherein the storage device is furtherconfigured to: provide a ranking to each stored segment.
 21. The systemof claim 20 wherein the display device is configured to: provide acustomized channel for display of the stored segments; and display thestored segments on the customized channel based on the ranking of eachstored segment.
 22. A method for storing a segment of an audiovisualprogram, comprising: providing an audiovisual program from a serviceprovider to a client receiver, wherein the audiovisual program containsat least a first and second segment of the program; and providingmetadata from the service provider to the client receiver, the metadatadescribing at least one attribute of the audiovisual program, themetadata including at least one attribute of the first segment of theprogram and one attribute of the second segment of the program; whereinthe metadata is compared, at the client receiver, to a search criterionprovided by a user and, in the event that the metadata for the firstsegment matches the search criterion, a timer is set to store the firstsegment of the program when the audiovisual program is received from theservice provider, and not set to store the second segment.